////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2011-2012 www.iflytek.com. All Rights Reserved.
//  This software for customer relationship management system, developed by Iflytek_ZY team.
//  Software code and design for the team, copy rights reserved.
////////////////////////////////////////////////////////////////////////////////

package com.iflytek.ci.main.dao;

import com.iflytek.ci.main.domain.SerialNumber;
import com.iflytek.framework.mybatis.extra.MyBatisDao;

/**
 * <p>
 * .
 * </p>
 *
 * @author poplar.yfyang
 * @version 1.0 2012-11-03 8:00 PM
 * @since JDK 1.5
 */
@MyBatisDao
public interface SerialNumberDao {

	/**
	 * 新增一个流水号
	 *
	 * @param serialNumber 流水号
	 * @return 如果返回大于等于0的话，表示写入成功
	 */
	int insert_serial_number(SerialNumber serialNumber);

	/**
	 * 根据KEY获取流水信息
	 *
	 * @param key key
	 * @return 流水号
	 */
	long get_sn(String key);


	/**
	 * 更新流水号+1
	 * @param key 流水KEY，可以是项目的KEY
	 * @return 返回小于0的则表示更新失败
	 */
	int update_serial_number(String key);

	/**
	 * 删除一个流水号
	 *
	 * @param id 流水号ID
	 * @return 如果返回大于等于0的话，表示删除成功
	 */
	int delete_serial_number(int id);


	/**
	 * 根据KEY删除流水号
	 *
	 * @param project_ids 项目ID
	 */
	int delete_sn_with_projects(String[] project_ids);
}
